home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / Script.a < prev    next >
Encoding:
Text File  |  1997-08-12  |  42.8 KB  |  1,143 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Script.a
  3. ;
  4. ;    Contains:    Script Manager interfaces
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0.1
  8. ;
  9. ;    Copyright:    © 1986-1997 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__SCRIPT__') = 'UNDEFINED' THEN
  19. __SCRIPT__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  25.     include 'Quickdraw.a'
  26.     ENDIF
  27.     IF &TYPE('__INTLRESOURCES__') = 'UNDEFINED' THEN
  28.     include 'IntlResources.a'
  29.     ENDIF
  30.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  31.     include 'Events.a'
  32.     ENDIF
  33.  
  34.  
  35.                                                             ; Script System constants 
  36. smSystemScript                    EQU        -1                    ;designates system script.
  37. smCurrentScript                    EQU        -2                    ;designates current font script.
  38. smAllScripts                    EQU        -3                    ;designates any script    
  39.  
  40. smRoman                            EQU        0                    ;Roman
  41. smJapanese                        EQU        1                    ;Japanese
  42. smTradChinese                    EQU        2                    ;Traditional Chinese
  43. smKorean                        EQU        3                    ;Korean
  44. smArabic                        EQU        4                    ;Arabic
  45. smHebrew                        EQU        5                    ;Hebrew
  46. smGreek                            EQU        6                    ;Greek
  47. smCyrillic                        EQU        7                    ;Cyrillic
  48. smRSymbol                        EQU        8                    ;Right-left symbol
  49. smDevanagari                    EQU        9                    ;Devanagari
  50. smGurmukhi                        EQU        10                    ;Gurmukhi
  51. smGujarati                        EQU        11                    ;Gujarati
  52. smOriya                            EQU        12                    ;Oriya
  53. smBengali                        EQU        13                    ;Bengali
  54. smTamil                            EQU        14                    ;Tamil
  55. smTelugu                        EQU        15                    ;Telugu
  56. smKannada                        EQU        16                    ;Kannada/Kanarese
  57. smMalayalam                        EQU        17                    ;Malayalam
  58.  
  59. smSinhalese                        EQU        18                    ;Sinhalese
  60. smBurmese                        EQU        19                    ;Burmese
  61. smKhmer                            EQU        20                    ;Khmer/Cambodian
  62. smThai                            EQU        21                    ;Thai
  63. smLaotian                        EQU        22                    ;Laotian
  64. smGeorgian                        EQU        23                    ;Georgian
  65. smArmenian                        EQU        24                    ;Armenian
  66. smSimpChinese                    EQU        25                    ;Simplified Chinese
  67. smTibetan                        EQU        26                    ;Tibetan
  68. smMongolian                        EQU        27                    ;Mongolian
  69. smGeez                            EQU        28                    ;Geez/Ethiopic
  70. smEthiopic                        EQU        28                    ;Synonym for smGeez
  71. smEastEurRoman                    EQU        29                    ;Synonym for smSlavic
  72. smCentralEuroRoman                EQU        29                    ; another synonym 
  73. smVietnamese                    EQU        30                    ;Vietnamese
  74. smExtArabic                        EQU        31                    ;extended Arabic
  75. smUninterp                        EQU        32                    ;uninterpreted symbols, e.g. palette symbols
  76. smKlingon                        EQU        32                    ;Klingon
  77.                                                             ;Obsolete names for script systems (kept for backward compatibility)
  78. smChinese                        EQU        2                    ;(use smTradChinese or smSimpChinese)
  79. smRussian                        EQU        7                    ;(old name for smCyrillic)
  80.                                                             ; smMaldivian = 25;         (no more smMaldivian!)
  81. smAmharic                        EQU        28                    ;(old name for smGeez)
  82. smSlavic                        EQU        29                    ;(old name for smEastEurRoman)
  83. smSindhi                        EQU        31                    ;(old name for smExtArabic)
  84.  
  85.                                                             ; Language Codes 
  86. langEnglish                        EQU        0                    ; smRoman script 
  87. langFrench                        EQU        1                    ; smRoman script 
  88. langGerman                        EQU        2                    ; smRoman script 
  89. langItalian                        EQU        3                    ; smRoman script 
  90. langDutch                        EQU        4                    ; smRoman script 
  91. langSwedish                        EQU        5                    ; smRoman script 
  92. langSpanish                        EQU        6                    ; smRoman script 
  93. langDanish                        EQU        7                    ; smRoman script 
  94. langPortuguese                    EQU        8                    ; smRoman script 
  95. langNorwegian                    EQU        9                    ; smRoman script 
  96. langHebrew                        EQU        10                    ; smHebrew script 
  97. langJapanese                    EQU        11                    ; smJapanese script 
  98. langArabic                        EQU        12                    ; smArabic script 
  99. langFinnish                        EQU        13                    ; smRoman script 
  100. langGreek                        EQU        14                    ; should be smGreek script; current systems actually use smRoman (11/95) 
  101. langIcelandic                    EQU        15                    ; variant smRoman script 
  102. langMaltese                        EQU        16                    ; variant smRoman script 
  103. langTurkish                        EQU        17                    ; variant smRoman script 
  104. langCroatian                    EQU        18                    ; Serbo-Croatian in variant Roman script 
  105. langTradChinese                    EQU        19                    ; Chinese in traditional characters 
  106.  
  107. langUrdu                        EQU        20                    ; smArabic script 
  108. langHindi                        EQU        21                    ; smDevanagari script 
  109. langThai                        EQU        22                    ; smThai script 
  110. langKorean                        EQU        23                    ; smKorean script 
  111. langLithuanian                    EQU        24                    ; smCentralEuroRoman script 
  112. langPolish                        EQU        25                    ; smCentralEuroRoman script 
  113. langHungarian                    EQU        26                    ; smCentralEuroRoman script 
  114. langEstonian                    EQU        27                    ; smCentralEuroRoman script 
  115. langLettish                        EQU        28                    ; smCentralEuroRoman script 
  116. langLatvian                        EQU        28                    ; Synonym for langLettish 
  117. langSaamisk                        EQU        29                    ; lang. of the Sami/Lapp people of Scand. (11/95, no current script supports this) 
  118. langFaeroese                    EQU        30                    ; smRoman script 
  119. langFarsi                        EQU        31                    ; smArabic script 
  120. langPersian                        EQU        31                    ; Synonym for langFarsi 
  121. langRussian                        EQU        32                    ; smCyrillic script 
  122. langSimpChinese                    EQU        33                    ; Chinese in simplified characters 
  123. langFlemish                        EQU        34                    ; smRoman script 
  124. langIrish                        EQU        35                    ; smRoman script 
  125. langAlbanian                    EQU        36                    ; smRoman script 
  126.  
  127. langRomanian                    EQU        37                    ; variant smRoman script (11/95) <22> 
  128. langCzech                        EQU        38                    ; smCentralEuroRoman script 
  129. langSlovak                        EQU        39                    ; smCentralEuroRoman script 
  130. langSlovenian                    EQU        40                    ; uses Croatian variant of smRoman script (11/95) <22> 
  131. langYiddish                        EQU        41                    ; smHebrew script 
  132. langSerbian                        EQU        42                    ; Serbo-Croatian in smCyrillic script 
  133. langMacedonian                    EQU        43                    ; smCyrillic script 
  134. langBulgarian                    EQU        44                    ; variant smCyrillic script (11/95) <22> 
  135. langUkrainian                    EQU        45                    ; variant smCyrillic script (11/95) <22> 
  136. langByelorussian                EQU        46                    ; smCyrillic script 
  137. langUzbek                        EQU        47                    ; variant smCyrillic script (11/95) <22> 
  138. langKazakh                        EQU        48                    ; variant smCyrillic script (11/95) <22> 
  139. langAzerbaijani                    EQU        49                    ; Azerbaijani in variant smCyrillic script (11/95) <22> 
  140. langAzerbaijanAr                EQU        50                    ; Azerbaijani in smArabic script (Iran) 
  141. langArmenian                    EQU        51                    ; smArmenian script 
  142. langGeorgian                    EQU        52                    ; smGeorgian script 
  143. langMoldavian                    EQU        53                    ; smCyrillic script 
  144. langKirghiz                        EQU        54                    ; variant smCyrillic script (11/95) <22> 
  145. langTajiki                        EQU        55                    ; variant smCyrillic script (11/95) <22> 
  146. langTurkmen                        EQU        56                    ; variant smCyrillic script (11/95) <22> 
  147.  
  148. langMongolian                    EQU        57                    ; Mongolian in smMongolian script 
  149. langMongolianCyr                EQU        58                    ; Mongolian in variant smCyrillic script (11/95) <22> 
  150. langPashto                        EQU        59                    ; smExtArabic script (11/95) <22> 
  151. langKurdish                        EQU        60                    ; smArabic script 
  152. langKashmiri                    EQU        61                    ; smExtArabic script (11/95) <22> 
  153. langSindhi                        EQU        62                    ; smExtArabic script (11/95) <22> 
  154. langTibetan                        EQU        63                    ; smTibetan script 
  155. langNepali                        EQU        64                    ; smDevanagari script 
  156. langSanskrit                    EQU        65                    ; smDevanagari script 
  157. langMarathi                        EQU        66                    ; smDevanagari script 
  158. langBengali                        EQU        67                    ; smBengali script 
  159. langAssamese                    EQU        68                    ; smBengali script 
  160. langGujarati                    EQU        69                    ; smGujarati script 
  161. langPunjabi                        EQU        70                    ; smGurmukhi script 
  162. langOriya                        EQU        71                    ; smOriya script 
  163. langMalayalam                    EQU        72                    ; smMalayalam script 
  164. langKannada                        EQU        73                    ; smKannada script 
  165. langTamil                        EQU        74                    ; smTamil script 
  166. langTelugu                        EQU        75                    ; smTelugu script 
  167. langSinhalese                    EQU        76                    ; smSinhalese script 
  168.  
  169. langBurmese                        EQU        77                    ; smBurmese script 
  170. langKhmer                        EQU        78                    ; smKhmer script 
  171. langLao                            EQU        79                    ; smLaotian script 
  172. langVietnamese                    EQU        80                    ; smVietnamese script 
  173. langIndonesian                    EQU        81                    ; smRoman script 
  174. langTagalog                        EQU        82                    ; smRoman script 
  175. langMalayRoman                    EQU        83                    ; Malay in smRoman script 
  176. langMalayArabic                    EQU        84                    ; Malay in smArabic script 
  177. langAmharic                        EQU        85                    ; smEthiopic script 
  178. langTigrinya                    EQU        86                    ; smEthiopic script 
  179. langGalla                        EQU        87                    ; smEthiopic script 
  180. langOromo                        EQU        87                    ; Synonym for langGalla 
  181. langSomali                        EQU        88                    ; smRoman script 
  182. langSwahili                        EQU        89                    ; smRoman script 
  183. langKinyarwanda                    EQU        90                    ; smRoman script 
  184. langRuanda                        EQU        90                    ; synonym for langKinyarwanda 
  185. langRundi                        EQU        91                    ; smRoman script 
  186. langNyanja                        EQU        92                    ; smRoman script 
  187. langChewa                        EQU        92                    ; synonym for langNyanja 
  188. langMalagasy                    EQU        93                    ; smRoman script 
  189. langEsperanto                    EQU        94                    ; extended Roman script 
  190. langWelsh                        EQU        128                    ; smRoman script 
  191.  
  192. langBasque                        EQU        129                    ; smRoman script 
  193. langCatalan                        EQU        130                    ; smRoman script 
  194. langLatin                        EQU        131                    ; smRoman script 
  195. langQuechua                        EQU        132                    ; smRoman script 
  196. langGuarani                        EQU        133                    ; smRoman script 
  197. langAymara                        EQU        134                    ; smRoman script 
  198. langTatar                        EQU        135                    ; smCyrillic script 
  199. langUighur                        EQU        136                    ; smArabic script 
  200. langDzongkha                    EQU        137                    ; (lang of Bhutan) smTibetan script 
  201. langJavaneseRom                    EQU        138                    ; Javanese in smRoman script 
  202. langSundaneseRom                EQU        139                    ; Sundanese in smRoman script 
  203. langGalician                    EQU        140                    ; smRoman script 
  204. langAfricaans                    EQU        141                    ; smRoman script 
  205.                                                             ; Obsolete names, kept for backward compatibility 
  206. langPortugese                    EQU        8                    ; old misspelled version, kept for compatibility 
  207. langMalta                        EQU        16                    ; old misspelled version, kept for compatibility 
  208. langYugoslavian                    EQU        18                    ; (use langCroatian, langSerbian, etc.) 
  209. langChinese                        EQU        19                    ; (use langTradChinese or langSimpChinese) 
  210. langLapponian                    EQU        29                    ; Synonym for langSaamisk, not correct name 
  211. langLappish                        EQU        29                    ; Synonym for langSaamisk 
  212.  
  213.                                                             ; Regional version codes 
  214. verUS                            EQU        0
  215. verFrance                        EQU        1
  216. verBritain                        EQU        2
  217. verGermany                        EQU        3
  218. verItaly                        EQU        4
  219. verNetherlands                    EQU        5
  220. verFrBelgiumLux                    EQU        6                    ; French for Belgium & Luxembourg 
  221. verSweden                        EQU        7
  222. verSpain                        EQU        8
  223. verDenmark                        EQU        9
  224. verPortugal                        EQU        10
  225. verFrCanada                        EQU        11
  226. verNorway                        EQU        12
  227.  
  228. verIsrael                        EQU        13
  229. verJapan                        EQU        14
  230. verAustralia                    EQU        15
  231. verArabic                        EQU        16                    ; synonym for verArabia 
  232. verFinland                        EQU        17
  233. verFrSwiss                        EQU        18                    ; French Swiss 
  234. verGrSwiss                        EQU        19                    ; German Swiss 
  235. verGreece                        EQU        20
  236. verIceland                        EQU        21
  237. verMalta                        EQU        22
  238. verCyprus                        EQU        23
  239. verTurkey                        EQU        24
  240. verYugoCroatian                    EQU        25                    ; Croatian system for Yugoslavia 
  241. verNetherlandsComma                EQU        26
  242. verBelgiumLuxPoint                EQU        27
  243. verCanadaComma                    EQU        28
  244. verCanadaPoint                    EQU        29
  245. vervariantPortugal                EQU        30
  246. vervariantNorway                EQU        31
  247. vervariantDenmark                EQU        32
  248. verIndiaHindi                    EQU        33                    ; Hindi system for India 
  249. verPakistan                        EQU        34
  250. verTurkishModified                EQU        35
  251. verItalianSwiss                    EQU        36
  252. verRomania                        EQU        39
  253. verGreekAncient                    EQU        40
  254. verLithuania                    EQU        41
  255. verPoland                        EQU        42
  256. verHungary                        EQU        43
  257. verEstonia                        EQU        44
  258. verLatvia                        EQU        45
  259.  
  260. verLapland                        EQU        46
  261. verFaeroeIsl                    EQU        47
  262. verIran                            EQU        48
  263. verRussia                        EQU        49
  264. verIreland                        EQU        50                    ; English-language version for Ireland 
  265. verKorea                        EQU        51
  266. verChina                        EQU        52
  267. verTaiwan                        EQU        53
  268. verThailand                        EQU        54
  269. verCzech                        EQU        56
  270. verSlovak                        EQU        57
  271. verGenericFE                    EQU        58
  272. verMagyar                        EQU        59
  273. verBengali                        EQU        60
  274. verByeloRussian                    EQU        61
  275. verUkrania                        EQU        62
  276. verUkraine                        EQU        62
  277. verAlternateGr                    EQU        64
  278. verCroatia                        EQU        68
  279. verBrazil                        EQU        71
  280. verBulgaria                        EQU        72
  281. verCatalonia                    EQU        73
  282.  
  283. minCountry                        EQU        0
  284. maxCountry                        EQU        73                    ; changed from verCroatia when additional enums added 
  285. ;  Obsolete region code names, kept for backward compatibility 
  286.  
  287. verBelgiumLux                    EQU        6                    ; (use verFrBelgiumLux instead, less ambiguous) 
  288. verArabia                        EQU        16
  289. verYugoslavia                    EQU        25                    ; (use verYugoCroatian instead, less ambiguous) 
  290. verIndia                        EQU        33                    ; (use verIndiaHindi instead, less ambiguous) 
  291.  
  292.                                                             ; Calendar Codes 
  293. calGregorian                    EQU        0
  294. calArabicCivil                    EQU        1
  295. calArabicLunar                    EQU        2
  296. calJapanese                        EQU        3
  297. calJewish                        EQU        4
  298. calCoptic                        EQU        5
  299. calPersian                        EQU        6
  300.  
  301.                                                             ; Integer Format Codes 
  302. intWestern                        EQU        0
  303. intArabic                        EQU        1
  304. intRoman                        EQU        2
  305. intJapanese                        EQU        3
  306. intEuropean                        EQU        4
  307. intOutputMask                    EQU        $8000
  308.  
  309.                                                             ; CharByte byte types 
  310. smSingleByte                    EQU        0
  311. smFirstByte                        EQU        -1
  312. smLastByte                        EQU        1
  313. smMiddleByte                    EQU        2
  314.  
  315.                                                             ; CharType field masks 
  316. smcTypeMask                        EQU        $000F
  317. smcReserved                        EQU        $00F0
  318. smcClassMask                    EQU        $0F00
  319. smcOrientationMask                EQU        $1000                ;two-byte script glyph orientation
  320. smcRightMask                    EQU        $2000
  321. smcUpperMask                    EQU        $4000
  322. smcDoubleMask                    EQU        $8000
  323.  
  324.                                                             ; Basic CharType character types 
  325. smCharPunct                        EQU        $0000
  326. smCharAscii                        EQU        $0001
  327. smCharEuro                        EQU        $0007
  328. smCharExtAscii                    EQU        $0007                ; More correct synonym for smCharEuro 
  329.                                                             ; Additional CharType character types for script systems 
  330. smCharKatakana                    EQU        $0002                ;Japanese Katakana
  331. smCharHiragana                    EQU        $0003                ;Japanese Hiragana
  332. smCharIdeographic                EQU        $0004                ;Hanzi, Kanji, Hanja
  333. smCharTwoByteGreek                EQU        $0005                ;2-byte Greek in Far East systems
  334. smCharTwoByteRussian            EQU        $0006                ;2-byte Cyrillic in Far East systems
  335. smCharBidirect                    EQU        $0008                ;Arabic/Hebrew
  336. smCharContextualLR                EQU        $0009                ;Contextual left-right: Thai, Indic scripts
  337. smCharNonContextualLR            EQU        $000A                ;Non-contextual left-right: Cyrillic, Greek
  338. smCharHangul                    EQU        $000C                ;Korean Hangul
  339. smCharJamo                        EQU        $000D                ;Korean Jamo
  340. smCharBopomofo                    EQU        $000E                ;Chinese Bopomofo
  341. smCharGanaKana                    EQU        $000F                ;Shared for Japanese Hiragana & Katakana
  342.                                                             ; old names for some of above, for backward compatibility 
  343. smCharFISKana                    EQU        $0002                ;Katakana
  344. smCharFISGana                    EQU        $0003                ;Hiragana
  345. smCharFISIdeo                    EQU        $0004                ;Hanzi, Kanji, Hanja
  346.  
  347. smCharFISGreek                    EQU        $0005                ;2-byte Greek in Far East systems
  348. smCharFISRussian                EQU        $0006                ;2-byte Cyrillic in Far East systems
  349.                                                             ; CharType classes for punctuation (smCharPunct) 
  350. smPunctNormal                    EQU        $0000
  351. smPunctNumber                    EQU        $0100
  352. smPunctSymbol                    EQU        $0200
  353. smPunctBlank                    EQU        $0300                ; Additional CharType classes for punctuation in two-byte systems 
  354. smPunctRepeat                    EQU        $0400                ; repeat marker 
  355. smPunctGraphic                    EQU        $0500                ; line graphics 
  356.                                                             ; CharType Katakana and Hiragana classes for two-byte systems 
  357. smKanaSmall                        EQU        $0100                ;small kana character
  358. smKanaHardOK                    EQU        $0200                ;can have dakuten
  359. smKanaSoftOK                    EQU        $0300                ;can have dakuten or han-dakuten
  360.                                                             ; CharType Ideographic classes for two-byte systems 
  361. smIdeographicLevel1                EQU        $0000                ;level 1 char
  362. smIdeographicLevel2                EQU        $0100                ;level 2 char
  363. smIdeographicUser                EQU        $0200                ;user char
  364.                                                             ; old names for above, for backward compatibility 
  365. smFISClassLvl1                    EQU        $0000                ;level 1 char
  366. smFISClassLvl2                    EQU        $0100                ;level 2 char
  367. smFISClassUser                    EQU        $0200                ;user char
  368.                                                             ; CharType Jamo classes for Korean systems 
  369. smJamoJaeum                        EQU        $0000                ;simple consonant char
  370. smJamoBogJaeum                    EQU        $0100                ;complex consonant char
  371. smJamoMoeum                        EQU        $0200                ;simple vowel char
  372. smJamoBogMoeum                    EQU        $0300                ;complex vowel char
  373.  
  374.                                                             ; CharType glyph orientation for two-byte systems 
  375. smCharHorizontal                EQU        $0000                ; horizontal character form, or for both 
  376. smCharVertical                    EQU        $1000                ; vertical character form 
  377.                                                             ; CharType directions 
  378. smCharLeft                        EQU        $0000
  379. smCharRight                        EQU        $2000                ; CharType case modifers 
  380. smCharLower                        EQU        $0000
  381. smCharUpper                        EQU        $4000                ; CharType character size modifiers (1 or multiple bytes). 
  382. smChar1byte                        EQU        $0000
  383. smChar2byte                        EQU        $8000
  384.  
  385.                                                             ; TransliterateText target types for Roman 
  386. smTransAscii                    EQU        0                    ;convert to ASCII
  387. smTransNative                    EQU        1                    ;convert to font script
  388. smTransCase                        EQU        $FE                    ;convert case for all text
  389. smTransSystem                    EQU        $FF                    ;convert to system script
  390.                                                             ; TransliterateText target types for two-byte scripts 
  391. smTransAscii1                    EQU        2                    ;1-byte Roman
  392. smTransAscii2                    EQU        3                    ;2-byte Roman
  393. smTransKana1                    EQU        4                    ;1-byte Japanese Katakana
  394. smTransKana2                    EQU        5                    ;2-byte Japanese Katakana
  395.  
  396. smTransGana2                    EQU        7                    ;2-byte Japanese Hiragana (no 1-byte Hiragana)
  397. smTransHangul2                    EQU        8                    ;2-byte Korean Hangul
  398. smTransJamo2                    EQU        9                    ;2-byte Korean Jamo
  399. smTransBopomofo2                EQU        10                    ;2-byte Chinese Bopomofo
  400.                                                             ; TransliterateText target modifiers 
  401. smTransLower                    EQU        $4000                ;target becomes lowercase
  402. smTransUpper                    EQU        $8000                ;target becomes uppercase
  403.                                                             ; TransliterateText resource format numbers 
  404. smTransRuleBaseFormat            EQU        1                    ;Rule based trsl resource format 
  405. smTransHangulFormat                EQU        2                    ;Table based Hangul trsl resource format
  406.                                                             ; TransliterateText property flags 
  407. smTransPreDoubleByting            EQU        1                    ;Convert all text to double byte before transliteration
  408. smTransPreLowerCasing            EQU        2                    ;Convert all text to lower case before transliteration
  409.  
  410.                                                             ; TransliterateText source mask - general 
  411. smMaskAll                        EQU        $FFFFFFFF            ;Convert all text
  412.                                                             ; TransliterateText source masks 
  413. smMaskAscii                        EQU        $00000001            ;2^smTransAscii
  414. smMaskNative                    EQU        $00000002            ;2^smTransNative
  415.                                                             ; TransliterateText source masks for two-byte scripts 
  416. smMaskAscii1                    EQU        $00000004            ;2^smTransAscii1
  417. smMaskAscii2                    EQU        $00000008            ;2^smTransAscii2
  418. smMaskKana1                        EQU        $00000010            ;2^smTransKana1
  419. smMaskKana2                        EQU        $00000020            ;2^smTransKana2
  420. smMaskGana2                        EQU        $00000080            ;2^smTransGana2
  421. smMaskHangul2                    EQU        $00000100            ;2^smTransHangul2
  422. smMaskJamo2                        EQU        $00000200            ;2^smTransJamo2
  423. smMaskBopomofo2                    EQU        $00000400            ;2^smTransBopomofo2
  424.  
  425.                                                             ; Result values from GetScriptManagerVariable and SetScriptManagerVariable calls. 
  426. smNotInstalled                    EQU        0                    ;routine not available in script
  427. smBadVerb                        EQU        -1                    ;Bad verb passed to a routine
  428. smBadScript                        EQU        -2                    ;Bad script code passed to a routine
  429.  
  430.                                                             ; Values for script redraw flag. 
  431. smRedrawChar                    EQU        0                    ;Redraw character only
  432. smRedrawWord                    EQU        1                    ;Redraw entire word (2-byte systems)
  433. smRedrawLine                    EQU        -1                    ;Redraw entire line (bidirectional systems)
  434.  
  435.                                                             ; GetScriptManagerVariable and SetScriptManagerVariable verbs 
  436. smVersion                        EQU        0                    ;Script Manager version number
  437. smMunged                        EQU        2                    ;Globals change count
  438. smEnabled                        EQU        4                    ;Count of enabled scripts, incl Roman
  439. smBidirect                        EQU        6                    ;At least one bidirectional script
  440. smFontForce                        EQU        8                    ;Force font flag
  441. smIntlForce                        EQU        10                    ;Force intl flag
  442. smForced                        EQU        12                    ;Script was forced to system script
  443. smDefault                        EQU        14                    ;Script was defaulted to Roman script
  444. smPrint                            EQU        16                    ;Printer action routine
  445. smSysScript                        EQU        18                    ;System script
  446. smLastScript                    EQU        20                    ;Last keyboard script
  447. smKeyScript                        EQU        22                    ;Keyboard script
  448. smSysRef                        EQU        24                    ;System folder refNum
  449. smKeyCache                        EQU        26                    ;obsolete
  450. smKeySwap                        EQU        28                    ;Swapping table handle
  451. smGenFlags                        EQU        30                    ;General flags long
  452. smOverride                        EQU        32                    ;Script override flags
  453. smCharPortion                    EQU        34                    ;Ch vs SpExtra proportion
  454.                                                             ; New for System 7.0: 
  455. smDoubleByte                    EQU        36                    ;Flag for double-byte script installed
  456. smKCHRCache                        EQU        38                    ;Returns pointer to KCHR cache
  457. smRegionCode                    EQU        40                    ;Returns current region code (verXxx)
  458. smKeyDisableState                EQU        42                    ;Returns current keyboard disable state
  459.  
  460.                                                             ; GetScriptVariable and SetScriptVariable verbs. 
  461.                                                             ; Note: Verbs private to script systems are negative, while 
  462.                                                             ; those general across script systems are non-negative. 
  463. smScriptVersion                    EQU        0                    ;Script software version
  464. smScriptMunged                    EQU        2                    ;Script entry changed count
  465. smScriptEnabled                    EQU        4                    ;Script enabled flag
  466. smScriptRight                    EQU        6                    ;Right to left flag
  467. smScriptJust                    EQU        8                    ;Justification flag
  468. smScriptRedraw                    EQU        10                    ;Word redraw flag
  469. smScriptSysFond                    EQU        12                    ;Preferred system font
  470. smScriptAppFond                    EQU        14                    ;Preferred Application font
  471. smScriptBundle                    EQU        16                    ;Beginning of itlb verbs
  472. smScriptNumber                    EQU        16                    ;Script itl0 id
  473. smScriptDate                    EQU        18                    ;Script itl1 id
  474. smScriptSort                    EQU        20                    ;Script itl2 id
  475. smScriptFlags                    EQU        22                    ;flags word
  476. smScriptToken                    EQU        24                    ;Script itl4 id
  477. smScriptEncoding                EQU        26                    ;id of optional itl5, if present
  478. smScriptLang                    EQU        28                    ;Current language for script
  479.  
  480. smScriptNumDate                    EQU        30                    ;Script Number/Date formats.
  481. smScriptKeys                    EQU        32                    ;Script KCHR id
  482. smScriptIcon                    EQU        34                    ;ID # of SICN or kcs#/kcs4/kcs8 suite
  483. smScriptPrint                    EQU        36                    ;Script printer action routine
  484. smScriptTrap                    EQU        38                    ;Trap entry pointer
  485. smScriptCreator                    EQU        40                    ;Script file creator
  486. smScriptFile                    EQU        42                    ;Script file name
  487. smScriptName                    EQU        44                    ;Script name
  488.                                                             ; There is a hole here for old Kanji private verbs 46-76 
  489.                                                             ; New for System 7.0: 
  490. smScriptMonoFondSize            EQU        78                    ;default monospace FOND (hi) & size (lo)
  491. smScriptPrefFondSize            EQU        80                    ;preferred FOND (hi) & size (lo)
  492. smScriptSmallFondSize            EQU        82                    ;default small FOND (hi) & size (lo)
  493. smScriptSysFondSize                EQU        84                    ;default system FOND (hi) & size (lo)
  494. smScriptAppFondSize                EQU        86                    ;default app FOND (hi) & size (lo)
  495. smScriptHelpFondSize            EQU        88                    ;default Help Mgr FOND (hi) & size (lo)
  496. smScriptValidStyles                EQU        90                    ;mask of valid styles for script
  497. smScriptAliasStyle                EQU        92                    ;style (set) to use for aliases
  498. ;  special negative verbs for Get/SetScriptVariable that were associated with WorldScriptI 
  499. ;  move them here to be public 
  500.  
  501.                                                             ; WorldScript private verbs 
  502. smLayoutCache                    EQU        -309                ; HiWrd(param) is # entries, LoWrd is max input length 
  503. smOldVerbSupport                EQU        -311                ; param is added to old verbs to map to WSI verb
  504. smSetKashidas                    EQU        -291                ; param is ON or OFF, old verb = -36
  505. smSetKashProp                    EQU        -287                ; param is kashida proportion, old verb = -32
  506. smScriptSysBase                    EQU        -281                ; param is associated font to use w/ system font (old verb = -26)
  507. smScriptAppBase                    EQU        -283                ; param is associated font to use w/ app font (old verb = -28)
  508. smScriptFntBase                    EQU        -285                ; param is associated font to use w/ all other fonts (old verb = -30)
  509. smScriptLigatures                EQU        -263                ; old verb = -8
  510. smScriptNumbers                    EQU        -267                ; old verb = -12
  511.  
  512.                                                             ; Special script code values for International Utilities 
  513. iuSystemScript                    EQU        -1                    ; <obsolete>  system script 
  514. iuCurrentScript                    EQU        -2                    ; <obsolete>  current script (for font of grafPort) 
  515.  
  516.                                                             ; Negative verbs for KeyScript 
  517. smKeyNextScript                    EQU        -1                    ; Switch to next available script 
  518. smKeySysScript                    EQU        -2                    ; Switch to the system script 
  519. smKeySwapScript                    EQU        -3                    ; Switch to previously-used script 
  520.                                                             ; New for System 7.0: 
  521. smKeyNextKybd                    EQU        -4                    ; Switch to next keyboard in current keyscript 
  522. smKeySwapKybd                    EQU        -5                    ; Switch to previously-used keyboard in current keyscript 
  523. smKeyDisableKybds                EQU        -6                    ; Disable keyboards not in system or Roman script 
  524. smKeyEnableKybds                EQU        -7                    ; Re-enable keyboards for all enabled scripts 
  525. smKeyToggleInline                EQU        -8                    ; Toggle inline input for current keyscript 
  526. smKeyToggleDirection            EQU        -9                    ; Toggle default line direction (TESysJust) 
  527. smKeyNextInputMethod            EQU        -10                    ; Switch to next input method in current keyscript 
  528. smKeySwapInputMethod            EQU        -11                    ; Switch to last-used input method in current keyscript 
  529. smKeyDisableKybdSwitch            EQU        -12                    ; Disable switching from the current keyboard 
  530. smKeySetDirLeftRight            EQU        -15                    ; Set default line dir to left-right, align left 
  531. smKeySetDirRightLeft            EQU        -16                    ; Set default line dir to right-left, align right 
  532. smKeyRoman                        EQU        -17                    ; Set keyscript to Roman. Does nothing if Roman-only system, unlike KeyScript(smRoman) which forces an update to current default Roman keyboard 
  533.  
  534.                                                             ; Bits in the smScriptFlags word 
  535.                                                             ;  (bits above 8 are non-static) 
  536. smsfIntellCP                    EQU        0                    ;Script has intelligent cut & paste
  537. smsfSingByte                    EQU        1                    ;Script has only single bytes
  538. smsfNatCase                        EQU        2                    ;Native chars have upper & lower case
  539. smsfContext                        EQU        3                    ;Script is contextual
  540. smsfNoForceFont                    EQU        4                    ;Script will not force characters
  541. smsfB0Digits                    EQU        5                    ;Script has alternate digits at B0-B9
  542. smsfAutoInit                    EQU        6                    ;Auto initialize the script
  543. smsfUnivExt                        EQU        7                    ;Script is handled by universal extension
  544. smsfSynchUnstyledTE                EQU        8                    ;Script synchronizes for unstyled TE
  545. smsfForms                        EQU        13                    ;Uses contextual forms for letters
  546. smsfLigatures                    EQU        14                    ;Uses contextual ligatures
  547. smsfReverse                        EQU        15                    ;Reverses native text, right-left
  548.                                                             ; Bits in the smGenFlags long. 
  549.                                                             ; First (high-order) byte is set from itlc flags byte. 
  550. smfShowIcon                        EQU        31                    ;Show icon even if only one script
  551. smfDualCaret                    EQU        30                    ;Use dual caret for mixed direction text
  552. smfNameTagEnab                    EQU        29                    ;Reserved for internal use
  553. smfUseAssocFontInfo                EQU        28                    ;Use the associated font info for FontMetrics calls <48>
  554.  
  555.                                                             ; Roman script constants 
  556.                                                             ; The following are here for backward compatibility, but should not be used. 
  557.                                                             ; This information should be obtained using GetScript. 
  558. romanSysFond                    EQU        $3FFF                ;system font id number
  559. romanAppFond                    EQU        3                    ;application font id number
  560. romanFlags                        EQU        $0007                ;roman settings
  561.                                                             ; Script Manager font equates. 
  562. smFondStart                        EQU        $4000                ;start from 16K
  563. smFondEnd                        EQU        $C000                ;past end of range at 48K
  564.                                                             ; Miscellaneous font equates. 
  565. smUprHalfCharSet                EQU        $80                    ;first char code in top half of std char set
  566.  
  567.                                                             ; Character Set Extensions 
  568. diaeresisUprY                    EQU        $D9
  569. fraction                        EQU        $DA
  570. intlCurrency                    EQU        $DB
  571. leftSingGuillemet                EQU        $DC
  572. rightSingGuillemet                EQU        $DD
  573. fiLigature                        EQU        $DE
  574. flLigature                        EQU        $DF
  575. dblDagger                        EQU        $E0
  576. centeredDot                        EQU        $E1
  577. baseSingQuote                    EQU        $E2
  578. baseDblQuote                    EQU        $E3
  579. perThousand                        EQU        $E4
  580. circumflexUprA                    EQU        $E5
  581. circumflexUprE                    EQU        $E6
  582. acuteUprA                        EQU        $E7
  583. diaeresisUprE                    EQU        $E8
  584. graveUprE                        EQU        $E9
  585. acuteUprI                        EQU        $EA
  586. circumflexUprI                    EQU        $EB
  587. diaeresisUprI                    EQU        $EC
  588. graveUprI                        EQU        $ED
  589. acuteUprO                        EQU        $EE
  590. circumflexUprO                    EQU        $EF
  591. appleLogo                        EQU        $F0
  592. graveUprO                        EQU        $F1
  593. acuteUprU                        EQU        $F2
  594. circumflexUprU                    EQU        $F3
  595. graveUprU                        EQU        $F4
  596. dotlessLwrI                        EQU        $F5
  597. circumflex                        EQU        $F6
  598. tilde                            EQU        $F7
  599. macron                            EQU        $F8
  600. breveMark                        EQU        $F9
  601. overDot                            EQU        $FA
  602. ringMark                        EQU        $FB
  603. cedilla                            EQU        $FC
  604. doubleAcute                        EQU        $FD
  605. ogonek                            EQU        $FE
  606. hachek                            EQU        $FF
  607.  
  608.                                                             ; TokenType values 
  609. tokenIntl                        EQU        4                    ;the itl resource number of the tokenizer
  610. tokenEmpty                        EQU        -1                    ;used internally as an empty flag
  611.  
  612. tokenUnknown                    EQU        0                    ;chars that do not match a defined token type
  613. tokenWhite                        EQU        1                    ;white space
  614. tokenLeftLit                    EQU        2                    ;literal begin
  615. tokenRightLit                    EQU        3                    ;literal end
  616. tokenAlpha                        EQU        4                    ;alphabetic
  617. tokenNumeric                    EQU        5                    ;numeric
  618. tokenNewLine                    EQU        6                    ;new line
  619. tokenLeftComment                EQU        7                    ;open comment
  620. tokenRightComment                EQU        8                    ;close comment
  621. tokenLiteral                    EQU        9                    ;literal
  622. tokenEscape                        EQU        10                    ;character escape (e.g. '\' in "\n", "\t")
  623. tokenAltNum                        EQU        11                    ;alternate number (e.g. $B0-B9 in Arabic,Hebrew)
  624. tokenRealNum                    EQU        12                    ;real number
  625. tokenAltReal                    EQU        13                    ;alternate real number
  626. tokenReserve1                    EQU        14                    ;reserved
  627. tokenReserve2                    EQU        15                    ;reserved
  628. tokenLeftParen                    EQU        16                    ;open parenthesis
  629. tokenRightParen                    EQU        17                    ;close parenthesis
  630. tokenLeftBracket                EQU        18                    ;open square bracket
  631. tokenRightBracket                EQU        19                    ;close square bracket
  632.  
  633. tokenLeftCurly                    EQU        20                    ;open curly bracket
  634. tokenRightCurly                    EQU        21                    ;close curly bracket
  635. tokenLeftEnclose                EQU        22                    ;open guillemet
  636. tokenRightEnclose                EQU        23                    ;close guillemet
  637. tokenPlus                        EQU        24
  638. tokenMinus                        EQU        25
  639. tokenAsterisk                    EQU        26                    ;times/multiply
  640. tokenDivide                        EQU        27
  641. tokenPlusMinus                    EQU        28                    ;plus or minus symbol
  642. tokenSlash                        EQU        29
  643. tokenBackSlash                    EQU        30
  644. tokenLess                        EQU        31                    ;less than symbol
  645. tokenGreat                        EQU        32                    ;greater than symbol
  646. tokenEqual                        EQU        33
  647. tokenLessEqual2                    EQU        34                    ;less than or equal, 2 characters (e.g. <=)
  648. tokenLessEqual1                    EQU        35                    ;less than or equal, 1 character
  649. tokenGreatEqual2                EQU        36                    ;greater than or equal, 2 characters (e.g. >=)
  650. tokenGreatEqual1                EQU        37                    ;greater than or equal, 1 character
  651. token2Equal                        EQU        38                    ;double equal (e.g. ==)
  652. tokenColonEqual                    EQU        39                    ;colon equal
  653.  
  654. tokenNotEqual                    EQU        40                    ;not equal, 1 character
  655. tokenLessGreat                    EQU        41                    ;less/greater, Pascal not equal (e.g. <>)
  656. tokenExclamEqual                EQU        42                    ;exclamation equal, C not equal (e.g. !=)
  657. tokenExclam                        EQU        43                    ;exclamation point
  658. tokenTilde                        EQU        44                    ;centered tilde
  659. tokenComma                        EQU        45
  660. tokenPeriod                        EQU        46
  661. tokenLeft2Quote                    EQU        47                    ;open double quote
  662. tokenRight2Quote                EQU        48                    ;close double quote
  663. tokenLeft1Quote                    EQU        49                    ;open single quote
  664. tokenRight1Quote                EQU        50                    ;close single quote
  665. token2Quote                        EQU        51                    ;double quote
  666. token1Quote                        EQU        52                    ;single quote
  667. tokenSemicolon                    EQU        53
  668. tokenPercent                    EQU        54
  669. tokenCaret                        EQU        55
  670. tokenUnderline                    EQU        56
  671. tokenAmpersand                    EQU        57
  672. tokenAtSign                        EQU        58
  673. tokenBar                        EQU        59                    ;vertical bar
  674.  
  675. tokenQuestion                    EQU        60
  676. tokenPi                            EQU        61                    ;lower-case pi
  677. tokenRoot                        EQU        62                    ;square root symbol
  678. tokenSigma                        EQU        63                    ;capital sigma
  679. tokenIntegral                    EQU        64                    ;integral sign
  680. tokenMicro                        EQU        65
  681. tokenCapPi                        EQU        66                    ;capital pi
  682. tokenInfinity                    EQU        67
  683. tokenColon                        EQU        68
  684. tokenHash                        EQU        69                    ;e.g. #
  685. tokenDollar                        EQU        70
  686. tokenNoBreakSpace                EQU        71                    ;non-breaking space
  687. tokenFraction                    EQU        72
  688. tokenIntlCurrency                EQU        73
  689. tokenLeftSingGuillemet            EQU        74
  690. tokenRightSingGuillemet            EQU        75
  691. tokenPerThousand                EQU        76
  692. tokenEllipsis                    EQU        77
  693. tokenCenterDot                    EQU        78
  694. tokenNil                        EQU        127
  695.  
  696. delimPad                        EQU        -2                    ; obsolete, misspelled token names kept for backward compatibility 
  697. tokenTilda                        EQU        44
  698. tokenCarat                        EQU        55
  699.  
  700.                                                             ; Table selectors for GetItlTable 
  701. smWordSelectTable                EQU        0                    ; get word select break table from 'itl2' 
  702. smWordWrapTable                    EQU        1                    ; get word wrap break table from 'itl2' 
  703. smNumberPartsTable                EQU        2                    ; get default number parts table from 'itl4' 
  704. smUnTokenTable                    EQU        3                    ; get unToken table from 'itl4' 
  705. smWhiteSpaceList                EQU        4                    ; get white space list from 'itl4' 
  706. iuWordSelectTable                EQU        0                    ; <obsolete>  get word select break table from 'itl2' 
  707. iuWordWrapTable                    EQU        1                    ; <obsolete>  get word wrap break table from 'itl2' 
  708. iuNumberPartsTable                EQU        2                    ; <obsolete>  get default number parts table from 'itl4' 
  709. iuUnTokenTable                    EQU        3                    ; <obsolete>  get unToken table from 'itl4' 
  710. iuWhiteSpaceList                EQU        4                    ; <obsolete>  get white space list from 'itl4' 
  711. ;  end of stuff moved from Packages.h 
  712.  
  713. tokenOK                            EQU        0                    ; TokenResults 
  714. tokenOverflow                    EQU        1                    ; TokenResults 
  715. stringOverflow                    EQU        2                    ; TokenResults 
  716. badDelim                        EQU        3                    ; TokenResults 
  717. badEnding                        EQU        4                    ; TokenResults 
  718. crash                            EQU        5                    ; TokenResults 
  719. ; typedef SInt8                         TokenResults
  720.  
  721. CharByteTable            RECORD 0
  722. elements                 ds.b    256
  723. sizeof                     EQU *                    ; size:   $100 (256)
  724.                         ENDR
  725.  
  726.  
  727. ; typedef short                         TokenType
  728.  
  729. DelimType                RECORD 0
  730. elements                 ds.w    2
  731. sizeof                     EQU *                    ; size:   $4 (4)
  732.                         ENDR
  733.  
  734.  
  735. CommentType                RECORD 0
  736. elements                 ds.w    4
  737. sizeof                     EQU *                    ; size:   $8 (8)
  738.                         ENDR
  739.  
  740.  
  741. TokenRec                RECORD 0
  742. theToken                 ds.w    1                ; offset: $0 (0)
  743. position                 ds.l    1                ; offset: $2 (2)        ; pointer into original source
  744. length                     ds.l    1                ; offset: $6 (6)        ; length of text in original source
  745. stringPosition             ds.l    1                ; offset: $A (10)        ; Pascal/C string copy of identifier
  746. sizeof                     EQU *                    ; size:   $E (14)
  747.                         ENDR
  748. ; typedef struct TokenRec *                TokenRecPtr
  749.  
  750. TokenBlock                RECORD 0
  751. source                     ds.l    1                ; offset: $0 (0)        ; pointer to stream of characters
  752. sourceLength             ds.l    1                ; offset: $4 (4)        ; length of source stream
  753. tokenList                 ds.l    1                ; offset: $8 (8)        ; pointer to array of tokens
  754. tokenLength                 ds.l    1                ; offset: $C (12)        ; maximum length of TokenList
  755. tokenCount                 ds.l    1                ; offset: $10 (16)        ; number tokens generated by tokenizer
  756. stringList                 ds.l    1                ; offset: $14 (20)        ; pointer to stream of identifiers
  757. stringLength             ds.l    1                ; offset: $18 (24)        ; length of string list
  758. stringCount                 ds.l    1                ; offset: $1C (28)        ; number of bytes currently used
  759. doString                 ds.b    1                ; offset: $20 (32)        ; make strings & put into StringList
  760. doAppend                 ds.b    1                ; offset: $21 (33)        ; append to TokenList rather than replace
  761. doAlphanumeric             ds.b    1                ; offset: $22 (34)        ; identifiers may include numeric
  762. doNest                     ds.b    1                ; offset: $23 (35)        ; do comments nest?
  763. leftDelims                 ds.w    2                ; offset: $24 (36)
  764. rightDelims                 ds.w    2                ; offset: $28 (40)
  765. leftComment                 ds.w    4                ; offset: $2C (44)
  766. rightComment             ds.w    4                ; offset: $34 (52)
  767. escapeCode                 ds.w    1                ; offset: $3C (60)        ; escape symbol code
  768. decimalCode                 ds.w    1                ; offset: $3E (62)
  769. itlResource                 ds.l    1                ; offset: $40 (64)        ; handle to itl4 resource of current script
  770. reserved                 ds.l    8                ; offset: $44 (68)        ; must be zero!
  771. sizeof                     EQU *                    ; size:   $64 (100)
  772.                         ENDR
  773. ; typedef struct TokenBlock *            TokenBlockPtr
  774.  
  775. ;
  776. ; pascal short GetSysDirection(void)
  777. ;
  778.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  779.         Macro
  780.         _GetSysDirection      &dest=(sp)
  781.             move.w            $0BAC,&dest
  782.         EndM
  783.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  784.         IMPORT_CFM_FUNCTION GetSysDirection
  785.     ENDIF
  786.  
  787. ;
  788. ; pascal void SetSysDirection(short value)
  789. ;
  790.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  791.         Macro
  792.         _SetSysDirection      &src=(sp)+
  793.             move.w            &src,$0BAC
  794.         EndM
  795.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  796.         IMPORT_CFM_FUNCTION SetSysDirection
  797.     ENDIF
  798.  
  799. ;
  800. ; pascal short FontScript(void )
  801. ;
  802.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  803.         Macro
  804.         _FontScript
  805.             move.l              #$82000000,-(sp)
  806.             dc.w                $A8B5
  807.         EndM
  808.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  809.         IMPORT_CFM_FUNCTION FontScript
  810.     ENDIF
  811.  
  812. ;
  813. ; pascal short IntlScript(void )
  814. ;
  815.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  816.         Macro
  817.         _IntlScript
  818.             move.l              #$82000002,-(sp)
  819.             dc.w                $A8B5
  820.         EndM
  821.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  822.         IMPORT_CFM_FUNCTION IntlScript
  823.     ENDIF
  824.  
  825. ;
  826. ; pascal void KeyScript(short code)
  827. ;
  828.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  829.         Macro
  830.         _KeyScript
  831.             move.l              #$80020004,-(sp)
  832.             dc.w                $A8B5
  833.         EndM
  834.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  835.         IMPORT_CFM_FUNCTION KeyScript
  836.     ENDIF
  837.  
  838. ;
  839. ; pascal Boolean IsCmdChar(const EventRecord *event, short test)
  840. ;
  841.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  842.         Macro
  843.         _IsCmdChar
  844.             move.l              #$8206FFD0,-(sp)
  845.             dc.w                $A8B5
  846.         EndM
  847.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  848.         IMPORT_CFM_FUNCTION IsCmdChar
  849.     ENDIF
  850.  
  851. ;
  852. ; pascal short FontToScript(short fontNumber)
  853. ;
  854.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  855.         Macro
  856.         _FontToScript
  857.             move.l              #$82020006,-(sp)
  858.             dc.w                $A8B5
  859.         EndM
  860.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  861.         IMPORT_CFM_FUNCTION FontToScript
  862.     ENDIF
  863.  
  864. ;
  865. ; pascal long GetScriptManagerVariable(short selector)
  866. ;
  867.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  868.         Macro
  869.         _GetScriptManagerVariable
  870.             move.l              #$84020008,-(sp)
  871.             dc.w                $A8B5
  872.         EndM
  873.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  874.         IMPORT_CFM_FUNCTION GetScriptManagerVariable
  875.     ENDIF
  876.  
  877. ;
  878. ; pascal OSErr SetScriptManagerVariable(short selector, long param)
  879. ;
  880.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  881.         Macro
  882.         _SetScriptManagerVariable
  883.             move.l              #$8206000A,-(sp)
  884.             dc.w                $A8B5
  885.         EndM
  886.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  887.         IMPORT_CFM_FUNCTION SetScriptManagerVariable
  888.     ENDIF
  889.  
  890. ;
  891. ; pascal long GetScriptVariable(short script, short selector)
  892. ;
  893.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  894.         Macro
  895.         _GetScriptVariable
  896.             move.l              #$8404000C,-(sp)
  897.             dc.w                $A8B5
  898.         EndM
  899.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  900.         IMPORT_CFM_FUNCTION GetScriptVariable
  901.     ENDIF
  902.  
  903. ;
  904. ; pascal OSErr SetScriptVariable(short script, short selector, long param)
  905. ;
  906.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  907.         Macro
  908.         _SetScriptVariable
  909.             move.l              #$8208000E,-(sp)
  910.             dc.w                $A8B5
  911.         EndM
  912.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  913.         IMPORT_CFM_FUNCTION SetScriptVariable
  914.     ENDIF
  915.  
  916. ;
  917. ; pascal short CharacterByteType(Ptr textBuf, short textOffset, ScriptCode script)
  918. ;
  919.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  920.         Macro
  921.         _CharacterByteType
  922.             move.l              #$C2060010,-(sp)
  923.             dc.w                $A8B5
  924.         EndM
  925.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  926.         IMPORT_CFM_FUNCTION CharacterByteType
  927.     ENDIF
  928.  
  929. ;
  930. ; pascal short CharacterType(Ptr textBuf, short textOffset, ScriptCode script)
  931. ;
  932.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  933.         Macro
  934.         _CharacterType
  935.             move.l              #$C2060012,-(sp)
  936.             dc.w                $A8B5
  937.         EndM
  938.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  939.         IMPORT_CFM_FUNCTION CharacterType
  940.     ENDIF
  941.  
  942. ;
  943. ; pascal OSErr TransliterateText(Handle srcHandle, Handle dstHandle, short target, long srcMask, ScriptCode script)
  944. ;
  945.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  946.         Macro
  947.         _TransliterateText
  948.             move.l              #$C20E0018,-(sp)
  949.             dc.w                $A8B5
  950.         EndM
  951.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  952.         IMPORT_CFM_FUNCTION TransliterateText
  953.     ENDIF
  954.  
  955. ;
  956. ; pascal Boolean FillParseTable(CharByteTable table, ScriptCode script)
  957. ;
  958.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  959.         Macro
  960.         _FillParseTable
  961.             move.l              #$C2040022,-(sp)
  962.             dc.w                $A8B5
  963.         EndM
  964.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  965.         IMPORT_CFM_FUNCTION FillParseTable
  966.     ENDIF
  967.  
  968. ;
  969. ; pascal Handle GetIntlResource(short theID)
  970. ;
  971.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  972.         Macro
  973.         _GetIntlResource
  974.             move.w              #$0006,-(sp)
  975.             dc.w                $A9ED
  976.         EndM
  977.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  978.         IMPORT_CFM_FUNCTION GetIntlResource
  979.     ENDIF
  980.  
  981. ;
  982. ; pascal void ClearIntlResourceCache(void )
  983. ;
  984.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  985.         Macro
  986.         _ClearIntlResourceCache
  987.             move.w              #$0018,-(sp)
  988.             dc.w                $A9ED
  989.         EndM
  990.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  991.         IMPORT_CFM_FUNCTION ClearIntlResourceCache
  992.     ENDIF
  993.  
  994. ;
  995. ; pascal void GetIntlResourceTable(ScriptCode script, short tableCode, Handle *itlHandle, long *offset, long *length)
  996. ;
  997.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  998.         Macro
  999.         _GetIntlResourceTable
  1000.             move.w              #$0024,-(sp)
  1001.             dc.w                $A9ED
  1002.         EndM
  1003.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1004.         IMPORT_CFM_FUNCTION GetIntlResourceTable
  1005.     ENDIF
  1006.  
  1007. ;
  1008. ; pascal UniversalProcPtr GetScriptUtilityAddress(short selector, Boolean Before, ScriptCode script)
  1009. ;
  1010.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1011.         Macro
  1012.         _GetScriptUtilityAddress
  1013.             move.l              #$C4040038,-(sp)
  1014.             dc.w                $A8B5
  1015.         EndM
  1016.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1017.         IMPORT_CFM_FUNCTION GetScriptUtilityAddress
  1018.     ENDIF
  1019.  
  1020. ;
  1021. ; pascal void SetScriptUtilityAddress(short selector, Boolean Before, UniversalProcPtr routineAddr, ScriptCode script)
  1022. ;
  1023.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1024.         Macro
  1025.         _SetScriptUtilityAddress
  1026.             move.l              #$C008003A,-(sp)
  1027.             dc.w                $A8B5
  1028.         EndM
  1029.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1030.         IMPORT_CFM_FUNCTION SetScriptUtilityAddress
  1031.     ENDIF
  1032.  
  1033. ;
  1034. ; pascal UniversalProcPtr GetScriptQDPatchAddress(short trapNum, Boolean Before, Boolean forPrinting, ScriptCode script)
  1035. ;
  1036.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1037.         Macro
  1038.         _GetScriptQDPatchAddress
  1039.             move.l              #$C406003C,-(sp)
  1040.             dc.w                $A8B5
  1041.         EndM
  1042.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1043.         IMPORT_CFM_FUNCTION GetScriptQDPatchAddress
  1044.     ENDIF
  1045.  
  1046. ;
  1047. ; pascal void SetScriptQDPatchAddress(short trapNum, Boolean Before, Boolean forPrinting, UniversalProcPtr routineAddr, ScriptCode script)
  1048. ;
  1049.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1050.         Macro
  1051.         _SetScriptQDPatchAddress
  1052.             move.l              #$C00A003E,-(sp)
  1053.             dc.w                $A8B5
  1054.         EndM
  1055.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1056.         IMPORT_CFM_FUNCTION SetScriptQDPatchAddress
  1057.     ENDIF
  1058.  
  1059. ;
  1060. ; pascal void SetIntlResource(short refNum, short theID, Handle intlHandle)
  1061. ;
  1062.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1063.         Macro
  1064.         _SetIntlResource
  1065.             move.w              #$0008,-(sp)
  1066.             dc.w                $A9ED
  1067.         EndM
  1068.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1069.         IMPORT_CFM_FUNCTION SetIntlResource
  1070.     ENDIF
  1071.  
  1072. ;
  1073. ; pascal short CharByte(Ptr textBuf, short textOffset)
  1074. ;
  1075.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1076.         Macro
  1077.         _CharByte
  1078.             move.l              #$82060010,-(sp)
  1079.             dc.w                $A8B5
  1080.         EndM
  1081.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1082.         IMPORT_CFM_FUNCTION CharByte
  1083.     ENDIF
  1084.  
  1085. ;
  1086. ; pascal short CharType(Ptr textBuf, short textOffset)
  1087. ;
  1088.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1089.         Macro
  1090.         _CharType
  1091.             move.l              #$82060012,-(sp)
  1092.             dc.w                $A8B5
  1093.         EndM
  1094.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1095.         IMPORT_CFM_FUNCTION CharType
  1096.     ENDIF
  1097.  
  1098. ;
  1099. ; pascal OSErr Transliterate(Handle srcHandle, Handle dstHandle, short target, long srcMask)
  1100. ;
  1101.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1102.         Macro
  1103.         _Transliterate
  1104.             move.l              #$820E0018,-(sp)
  1105.             dc.w                $A8B5
  1106.         EndM
  1107.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1108.         IMPORT_CFM_FUNCTION Transliterate
  1109.     ENDIF
  1110.  
  1111. ;
  1112. ; pascal Boolean ParseTable(CharByteTable table)
  1113. ;
  1114.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1115.         Macro
  1116.         _ParseTable
  1117.             move.l              #$82040022,-(sp)
  1118.             dc.w                $A8B5
  1119.         EndM
  1120.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1121.         IMPORT_CFM_FUNCTION ParseTable
  1122.     ENDIF
  1123.  
  1124. ;
  1125. ; pascal TokenResults IntlTokenize(TokenBlockPtr tokenParam)
  1126. ;
  1127.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1128.         Macro
  1129.         _IntlTokenize
  1130.             move.l              #$8204FFFA,-(sp)
  1131.             dc.w                $A8B5
  1132.         EndM
  1133.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1134.         IMPORT_CFM_FUNCTION IntlTokenize
  1135.     ENDIF
  1136.  
  1137.     IF OLDROUTINENAMES THEN
  1138.     ENDIF    ; OLDROUTINENAMES
  1139.  
  1140.  
  1141.     ENDIF ; __SCRIPT__ 
  1142.  
  1143.